/*
 * Copyright (c) 2009, Jan Pastor. All Rights Reserved.
 */
package sk.jp.commons.exception;

/**
 * Base class for custom checked exceptions.
 * 
 * @author Jan Pastor
 */
public class BaseException extends Exception {

    private static final long serialVersionUID = 1L;

    /**
     * Constructs a new exception with null as its detail message.
     * <p>
     * The cause is not initialized, and may subsequently be initialized by a
     * call to <code>Throwable.initCause(java.lang.Throwable)</code>.
     */
    public BaseException() {
    }

    /**
     * Constructs a new exception with the specified detail message.
     * <p>
     * The cause is not initialized, and may subsequently be initialized by a
     * call to <code>Throwable.initCause(java.lang.Throwable)</code>.
     * @param message the detail message. The detail message is saved for later
     *            retrieval by the Throwable.getMessage() method.
     */
    public BaseException(String message) {
        super(message);
    }

    /**
     * Constructs a new exception with the specified detail message and cause.
     * <p>
     * Note that the detail message associated with cause is not automatically
     * incorporated in this exception's detail message.
     * @param message the detail message (which is saved for later retrieval by
     *            the <code>Throwable.getMessage()</code> method).
     * @param cause the cause (which is saved for later retrieval by the
     *            <code>Throwable.getCause()</code> method). (A null value is
     *            permitted, and indicates that the cause is nonexistent or
     *            unknown.)
     */
    public BaseException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Constructs a new exception with the specified cause and a detail message
     * of (cause==null ? null : cause.toString()) (which typically contains the
     * class and detail message of cause).
     * <p>
     * This constructor is useful for exceptions that are little more than
     * wrappers for other throwables (for example, PrivilegedActionException).
     * @param cause the cause (which is saved for later retrieval by the
     *            <code>Throwable.getCause()</code> method). (A null value is
     *            permitted, and indicates that the cause is nonexistent or
     *            unknown.)
     */
    public BaseException(Throwable cause) {
        super(cause);
    }

}
